package com.fancon.book.khoanhkhacdoinguoi;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;

import com.google.ads.AdRequest;
import com.google.ads.AdView;

public class ChapterDetail extends Activity{
	private WebView mWebView;
	 /** Button Back */
    private int chapter;
    public final int maxChapter = 99;
    static final String[] CHAPTERS = new String[] { "Lời nói đầu",
		"1- Màn mở đầu",
		"2. Khoảnh khắc phát hiện mình lớn lên trông xấu xí",
		"3. Khoảnh khắc phát hiện mình ngu đần",
		"4- Khoảnh khắc tự cảm thấy tốt đẹp",
		"5- Khoảnh khắc tâm tính xốc nổi không chuyên",
		"6- Khoảnh khắc chọn định khoa, ngành học",
		"7- Khoảnh khắc thành tích học tập giảm sút",
		"8- Khoảnh khắc hỏng thi",
		"9- Khoảnh khắc sa vào lưới tình  ",
		"10- Khoảnh khắc chọn định bạn đời ",
		"11- Khoảnh khắc thất tình ",
		"12- Khoảnh khắc cử hành hôn lễ ",
		"13- Khoảnh khắc trở thành cha mẹ ",
		"14- Khoảnh khắc phát hiện con cái không xứng đáng ",
		"15- Khoảnh khắc hôn nhân tan vỡ ",
		"16- Khoảnh khắc hôn nhân tan vỡ ",
		"17- Khoảnh khắc đi lại với người xa lạ ",
		"18- Khoảnh khắc đi lại với đồng nghiệp ",
		"19- Khoảnh khắc đi lại với lãnh đạo trực tiếp ",
		"20- Khoảnh khắc đi lại với người địa vị thấp ",
		"21- Khoảnh khắc đi lại với danh nhân quyền thế ",
		"22- Khoảnh khắc đi lại với người tính tình không hợp với mình ",
		"23- Khoảnh khắc cảm thấy không biết giao tiếp ",
		"24- Khoảnh khắc cần nhờ vả người khác ",
		"25- Khoảnh khắc cùng chạm cốc ",
		"26- Khoảnh khắc xấu hổ ngượng ngùng ",
		"27- Khoảnh khắc vô cớ nghi ngờ người khác ",
		"28- Khoảnh khắc cảm thấy không thể hợp tác với người khác ",
		"29- Khoảnh khắc chỉ trích người khác ",
		"30- Khoảnh khắc nhìn thấy đồng nghiệp thất bại ",
		"31- Khoảnh khắc đem thất vọng đến cho người khác ",
		"32- Khoảnh khắc thất tín với người khác ",
		"33 Khoảnh khắc Ước Mơ viễn Vông ",
		"34- Khoảnh khắc chỉ muốn thành công và có lợi ngay ",
		"35- Khoảnh khắc lý tưởng xung đột với hiện thực ",
		"36- Khoảnh khắc cá tính trái ngược với hoàn cảnh ",
		"37- Khoảnh khắc cạnh tranh với người khác ",
		"38- Khoảnh khắc mạo hiểm tiến thủ ",
		"39- Khoảnh khắc cần phải tự hy sinh ",
		"40- Khoảnh khắc bị những việc ngoài bổn phận làm xáo trộn ",
		"41- Khoảnh khắc bị những việc vụn vặt bao vây ",
		"42- Khoảnh khắc do dự không dám quyết định ",
		"43- Khoảnh khắc cố chấp với thiên kiến ",
		"44- Khoảnh khắc cần phải phục tùng trái với lương tâm ",
		"45- Khoảnh khắc sinh ra tư tưởng ngại khó khăn ",
		"46- Khoảnh khắc sinh ra tư tưởng uể oải ",
		"47- Khoảnh khắc sinh ra tâm lý nhút nhát ",
		"48- Khoảnh khắc sinh ra tâm lý ỷ lại ",
		"49- Khoảnh khắc xuất hiện hành vi tự tư tự lợi ",
		"50- Khoảnh khắc theo đòi ăn chơi kịp thời ",
		"51- Khoảnh khắc bị phê bình khiển trách ",
		"52- Khoảnh khắc gặp bất hạnh ngoài ý muốn ",
		"53- Khoảnh khắc đau ốm liên miên ",
		"54- Khoảnh khắc thất nghiệp ",
		"55- Khoảnh khắc bị bãi miễn chức vụ ",
		"56- Khoảnh khắc sa ngã ",
		"57- Khoảnh khắc cảm thấy cô lập không được viện trợ",
		"58. Khoảnh khắc bị người khác mưu toan ",
		"59. Khoảnh khắc bản thân ở vào hoàn cảnh ác liệt ",
		"60. Khoảnh khắc bị bạn bè thân thích ruồng bỏ ",
		"61. Khoảnh khắc gặp thất bại ",
		"62. Khoảnh khắc nảy sinh ý nghĩ trả thù ",
		"63. Khoảnh khắc bỏ lỡ cơ hội ",
		"64. Khoảnh khắc cảm thấy bị kỳ thị ",
		"65. Khoảnh khắc sáng tạo thành quả không được thừa nhận ",
		"66. Khoảnh khắc gặp phải người khác từ chối ",
		"67. Khoảnh khắc gặp phải vu cáo hãm hại ",
		"68. Khoảnh khắc gặp đối xử thô bạo ",
		"69. Khoảnh khắc bị hiểu nhầm ",
		"70. Khoảnh khắc sản sinh nỗi buồn vô cớ ",
		"71. Khoảnh khắc thể nghiệm đau khổ ",
		"72. Khoảnh khắc sản sinh tâm lý tự ti ",
		"73. Khoảnh khắc cảm thấy phẫn nộ ",
		"74. Khoảnh khắc cảm thấy sống quá mệt mỏi ",
		"75. Khoảnh khắc làm những điều trái lương tâm ",
		"76. Khoảnh khắc mắc nợ tinh thần ",
		"77. Khoảnh khắc sản sinh tâm lý gặp may ",
		"78. Khoảnh khắc sản sinh tư tưởng chán nghề ",
		"79. Khoảnh khắc theo đuổi hư vinh ",
		"80. Khoảnh khắc niềm tin tốt đẹp tiêu tan ",
		"81. Khoảnh khắc giận thói đời ",
		"82. Khoảnh khắc dao động trước vấp váp ",
		"83. Khoảnh khắc ham muốn không được thỏa mãn ",
		"84. Khoảnh khắc tự khoe khoang khoác lác ",
		"85. Khoảnh khắc có quyền thế nhất định ",
		"86. Khoảnh khắc bị người khác giới cám dỗ ",
		"87. Khoảnh khắc bắt đầu tích lũy của cải ",
		"88. Khoảnh khắc gật gù đắc chí ",
		"89. Khoảnh khắc được khen ngợi ",
		"90. Khoảnh khắc bị người khác ghen tị ",
		"91. Khoảnh khắc giành được thành công ",
		"92. Khoảnh khắc hám hưởng thụ quá mức ",
		"93. Khoảnh khắc biết được mình không còn trẻ nữa ",
		"94. Khoảnh khắc biết được ",
		"95. Khoảnh khắc cảm thấy tinh lực không còn dồi dào ",
		"96. Khoảnh khắc cảm thấy ",
		"97. Khoảnh khắc trí nhớ suy giảm ",
		"98. Khoảnh khắc đối mặt ánh tà dương ",
		"99. Khoảnh khắc đi đến kết thúc cuộc đời "
		
		
			 };
    
    
 // Menu option
	private int previousMenu = Menu.FIRST;  
    private int bookmarkMenu = Menu.FIRST + 1;
    private int nextMenu = Menu.FIRST + 2;
    private int groupId = 1; 
    @Override  
    public boolean onCreateOptionsMenu(Menu menu) {  
      menu.add(groupId, previousMenu , previousMenu, getResources().getString(R.string.menu_previous)).setIcon(R.drawable.back);  
      menu.add(groupId, bookmarkMenu , bookmarkMenu, getResources().getString(R.string.menu_bookmark)).setIcon(R.drawable.bookmark);
      menu.add(groupId, nextMenu , nextMenu, getResources().getString(R.string.menu_next)).setIcon(R.drawable.next);
      return true; 
    }  

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		
		switch (item.getItemId()) {
		case Menu.FIRST:
			if (chapter > 0) {
				//Go to previous chapter
				chapter--;
				openChapter(chapter);
				setTitle(CHAPTERS[chapter]);
				
			} else {
				//This is the first chapter 
				showDialog(getString(R.string.cannot_back));
			}
			break;
		case Menu.FIRST + 1:
			//Write chapter into Sharepreference...
			PreferenceUtil.setChapter(getApplicationContext(), PreferenceUtil.PREFS_KEY, String.valueOf(chapter));
			Toast.makeText(getApplicationContext(), getString(R.string.bookmark_success), Toast.LENGTH_LONG).show();
			break;
		case Menu.FIRST +2:
			if (chapter < maxChapter) {
				//Go to next chapter
				chapter++;
				openChapter(chapter);
				setTitle(CHAPTERS[chapter]);
				
			} else {
				//This is the last chapter 
				showDialog(getString(R.string.cannot_next));
			}
			break;
		

		}
		return true;
	}
    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.chapter_detail);
		Intent intent = getIntent();
			
		String title = intent.getStringExtra("title");
		chapter = intent.getIntExtra("chapter", -1);
		Log.d("chap", chapter + "");
		if (chapter > -1) {
			setTitle(title);
			openChapter(chapter);
		}
		AdView adview = (AdView) findViewById(R.id.adView);
		AdRequest re = new AdRequest();
		// re.setTesting(true);
		re.setGender(AdRequest.Gender.FEMALE);
		adview.loadAd(re);
	}
	
	private class DetailWebViewClient extends WebViewClient {
	    @Override
	    public boolean shouldOverrideUrlLoading(WebView view, String url) {
	        view.loadUrl(url);
	        return true;
	    }
	}
	
	/*
	 * show dialog when have a error
	 */
	public void showDialog(String msg) {

		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setMessage(msg).setCancelable(true)
				.setNegativeButton("OK", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int id) {
						dialog.cancel();
					}
				});
		AlertDialog alert = builder.create();
		alert.show();
	}
	
	/**
	 * open selected chapter
	 * 
	 * @param chapter
	 */
	private void openChapter(int chapter) {
	    mWebView = (WebView) findViewById(R.id.chapter_detail);
	    mWebView.getSettings().setJavaScriptEnabled(true);
	    mWebView.loadUrl("file:///android_asset/chapter" + chapter +".html");
	    mWebView.getSettings().setSupportZoom(true);
//	    mWebView.getSettings().setBuiltInZoomControls(true);
	    mWebView.setWebViewClient(new DetailWebViewClient());
	}

   @Override
   public void onStop(){
   	super.onStop();
   }
   @Override
   public void onResume(){
   	super.onResume();
   }
}
